import facecat from "facecat"
import facecat_ws from "facecat_ws"
let gPaint = new facecat.FCPaint();
let that = null;

// index.js
// 获取应用实例
const app = getApp()
Page({
    data: {
        canvasWidth:0,
        canvasHeight:0,
        facecatStyle:"",
        facecatContent:"",
        facecatFocus:false
      },
      bindInputChange: function(e) {  
        if(gPaint.editingTextBox){
            gPaint.editingTextBox.text = e.detail.value;
            facecat.invalidateView(gPaint.editingTextBox);
            gPaint.editingTextBox = null;
            gPaint.app.setData({
                facecatStyle: "position:absolute;left:0px;top:0px;width:0px;height:0px;display:none;", 
                facecatFocus:false,
                facecatContent:""
             })
        }
    },
    touchStartCanvas: function (e) {
      facecat_ws.handleTouchStart(gPaint, e, null);
    },touchMoveCanvas: function (e) {
      facecat_ws.handleTouchMove(gPaint, e, null);
    },touchEndCanvas: function (e) {
      facecat_ws.handleTouchEnd(gPaint, e, null, null);
    },
  onLoad() {
      that = this;
    wx.createSelectorQuery().select('#myCanvas').fields({ node: true, size: true }).exec((cres) => {       
        wx.getSystemInfo({
            success: function(res) {
                that.setData({
                    canvasWidth: res.windowWidth,  
                    canvasHeight: res.windowHeight
                 })
                cres[0].width = res.windowWidth;
                cres[0].height = res.windowHeight;
            }
        });   
        facecat_ws.scaleCanvas(gPaint, cres);
        //解析加载XML
        let xml = `<?xml version="1.0" encoding="utf-8"?>
        <html xmlns="facecat">
          <head>
          </head>
          <body>
            <div dock="fill" type="tab" selectedindex="0">
              <div name="TabPage" text="可视化生成" type="tabpage">
                <div name="Div" text="Div" location="15,31" size="312,279">
                  <input type="button" name="Button" text="Button" location="11,22" size="100,20" />
                  <input type="checkbox" name="CheckBox" text="CheckBox" location="11,59" size="100,20" />
                  <label name="Label" text="Label" location="11,92" size="100,20" />
                  <input type="text" name="TextBox" location="11,153" size="100,20" />
                  <table name="Grid" text="Grid" location="125,13" size="169,220">
                    <tr>
                      <th name="FCGridColumn" text="FCGridColumn"></th>
                      <th name="FCGridColumn2" text="FCGridColumn2"></th>
                    </tr>
                    <tr>
                      <td>Cell1</td>
                      <td>Cell2</td>
                    </tr>
                  </table>
                </div>
              </div>
              <div name="TabPage2" text="代码创建" type="tabpage" />
            </div>
          </body>
        </html>
        `;
	    facecat_ws.renderFaceCatWeChat(gPaint, xml, that);
        //获取第二页
        let tabPage = facecat.findViewByName("TabPage2", gPaint.views);
        let div = new facecat.FCDiv();
        div.location = new facecat.FCPoint(50, 50);
        div.size = new facecat.FCSize(200, 200);
        div.showHScrollBar = true;
        div.showVScrollBar = true;
        div.borderColor = "rgb(150,150,150)";
        facecat.addViewToParent(div, tabPage);
        for (let i = 0; i < 10; i++) {
            let button = new facecat.FCButton();
            button.location = new facecat.FCPoint(i * 40, i * 40);
            button.size = new facecat.FCSize(100, 20);
            button.backColor = "rgb(255,255,255)";
            button.textColor = "rgb(0,0,0)";
            button.borderColor = "rgb(150,150,150)";
            facecat.addViewToParent(button, div);
            button.text = "确定";
        }
    })
  }
})
